package com.yc.cloud.admin.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yc.cloud.admin.dto.request.SysApplicationCreateParam;
import com.yc.cloud.admin.dto.request.SysApplicationUpdateParam;
import com.yc.cloud.api.vo.SysApplicationVo;
import com.yc.cloud.common.basic.dto.BasePageReqDTO;
import com.yc.cloud.entity.SysApplication;

import java.util.List;

/**
 * <p>
 * 系统应用 服务类
 * </p>
 *
 * @author Yancy
 * @since 2024-04-20
 */
public interface SysApplicationService extends IService<SysApplication> {

    /***
     * description:查询列表
     * @param param 查询条件
     * @return 数据信息
     */
    IPage<SysApplicationVo> list(BasePageReqDTO param);

    SysApplicationVo convertVo(SysApplication sysapplication);

    List<SysApplicationVo> convertVo(List<SysApplication> sysapplicationList);

    SysApplication create(SysApplicationCreateParam param);

    SysApplication get(Long id);

    SysApplication update(Long id, SysApplicationUpdateParam sysapplication);

    boolean delete(Long id);

    /**
     * 更新应用发布状态
     *
     * @param id     应用ID
     * @param status 发布状态:0->未发布,1->已发布
     * @return 操作结果
     */
    boolean updatePublishStatus(Long id, Integer status);
}



